1. Field of the Invention
The present invention relates to a switch and a fault recovery method. More particularly, the invention relates to a switch appropriate for use in a network including a ring network supporting multicast, and to a fault recovery method for a network.
2. Description of the Related Art
Referring to FIGS. 1 to 5, the L (layer) 2 ring protocol according to the related art of the present invention will be described. Here, FIG. 1 is a block diagram illustrating a ring network in normal operation. FIG. 2 is a block diagram illustrating the ring network immediately after occurrence of a fault. FIG. 3 is a block diagram illustrating the ring network in which communication is resumed while the fault continues to exist. FIG. 4 is a block diagram illustrating the network immediately after fault recovery. FIG. 5 is a block diagram of the ring network for illustrating the link switchback.
In FIG. 1, a ring network 100 includes four switches 10 and links (lines) 30 connecting between each of the switches. A switch 10-1 which is a master node of the ring network 100 periodically sends a health-check frame (indicated by HC in the figures) from a port 40-12. The switches 10 forming the ring forward the health-check frame from one to another adjacent switch 10 in the clockwise direction. The health-check frame is finally received by a port 40-14 of the switch 10-1. Here the port 40-14 of the switch 10-1 is in a BLK (Block) state for preventing occurrence of a loop, and can receive only the health-check frame. Sending and receiving are disabled for the port 40-14 in the BLK state, except for receiving the health-check frame (indicated by a black circle in the figures). A port 40-12 of the switch 10-1 is in a FWD (Forward) state in which sending and receiving is enabled (indicated by a white circle in the figures). In the following description, switches 10-2 to 10-4 other than the master node are referred to as transit nodes. Two ports not shown that form the ring of the transit nodes are both in the FWD state.
The switch 10-1 as the master node recognizes that the ring network 100 is healthy by receiving the health-check frame sent by the switch itself. Conversely, the switch 10-1 recognizes that the ring network 100 has a fault by not receiving the health-check frame within a predetermined period of time (namely, by delay of the health-check frame).
Here communications between a terminal 20-3 connected to the switch 10-3 and each of the terminals 20-1, 20-2 connected to the switch 10-1, are made as data frames (indicated by DF31 and DF32 in the figures) through the switch 10-2.
In FIG. 2, it is assumed that a fault occurs in a link 30-23 between the switches 10-3 and 10-2. The DF31 and DF 32 cannot pass through the link 30-23 in which the communications are disabled. Also the health-check frame periodically sent by the switch 10-1 cannot pass through the link 30-23 in which the communication is disabled.
In FIG. 3, the switch 10-1 recognizes that the ring network 100 has a fault by not receiving the health-check frame in a predetermined period of time. Upon detection of the fault, the switch 10-1 moves the port 40-14 from the BLK state to the FWD state. The switch 10-1 sends FDB flash frames (FF1, FF2) from its ports 40-12, 40-14 in both directions. The switches 10-2 to 10-4 receive the FDB flash frames, each of which flashes (clears) a corresponding entry of the holding FDB (Forwarding Database). The switch 10-1 also flashes (clears) the contents of the holding FDB.
As the corresponding entries of the FDBs are flashed, the communications between the terminal 20-3 connected to the switch 10-3 and each of the terminals 20-1, 20-2 connected to the switch 10-1 are flooded by the switches 10-3 and 10-4, and then reach the switch 10-1. Thus the communications are resumed. The switches 10-3 and 10-4 learn the new communication paths (from the terminal 20-3 to the switch 10-3, switch 10-4, switch 10-1, and to the terminal 20-1 as well as to the terminal 20-2) which are then recorded in the FDBs. As a result, the flooding of the switches 10-3 and 10-4 is completed.
Incidentally the health-check frame periodically sent by the switch 10-1 continues the communication disabled state. Further, although the new paths are established between the switches 10-3 and 10-1, there is no change between the switches 10-2 and 10-1, so that the FWD state of the port 40-12 of the switch 10-1 is continued.
In FIG. 4, when the fault of the link 30-23 is recovered, the switch 10-1 receives the health-check frame periodically sent by the switch 10-1, and detects recovery of the ring network 100.
In FIG. 5, upon detection of the recovery of the ring network 100, the switch 10-1 sends the FDB flash frames from its ports 40-12, 40-14 in both directions. The switch 10-1 moves the port 40-14 from the FWD state to the BLK state. The switches 10-2 to 10-4 receive the FDB flash frames, each of which flashes (clears) a corresponding entry of the holding FDB. The switch 10-1 also flashes (clears) the contents of the holding FDB.
As the FDBs are flashed, the communications between the terminal 20-3 connected to the switch 10-3 and each of the terminals 20-1, 20-2 connected to the switch 10-1 are flooded in the switches 10-1 to 10-4, and then reach the port 40-12 of the switch 10-1. Thus the communications are resumed. The communications also reach the port 40-14 of the switch 10-1. However the port 40-14 cannot receive because it is in the BLK state. The switches 10-1 to 10-3 learn the communication paths (from the terminal 20-3 to the switch 10-3, switch 10-2, switch 10-1, and to the terminal 20-1 as well as to the terminal 20-2) which are then recorded in the FEBs. As a result, the flooding of the switches 10-1 to 10-4 is completed.
Next, IGMP (Internet Group Management Protocol)/MLD (Multicast Listener Discovery) snooping will be described with reference to FIGS. 6 to 9. Here IGMP is a multicast path control protocol of IPv4, and MLD is a multicast path control protocol of IPv6. Further snooping is that L2 refers to the L3 protocol. Here FIGS. 6 and 8 are views each illustrating the FDB before and after snooping. FIGS. 7 and 9 are block diagrams of a network for illustrating IGMP/MLD snooping.
In FIG. 6, an FDB 70 of the switch includes a destination MAC address 71 and an output port 72. It is possible to register a plurality of entries to the FDB 70. However, the figure shows the FDB 70 before snooping, so that there is no entry for the destination MAC address 71 and output port 72 (indicated by “-” in the figures).
In FIG. 7, a network 200 includes a server 50, a router 60, and a switch 10-11 that are linearly provided in the cited order. There are connected a terminal 20-11 to a port 40-1 of the switch 10-11 and a terminal 20-12 to a port 40-2 of the switch 10-11. The router 60 sends a group join query message (Query Frame, indicated by QRY1 in the figures) downstream. The FEB 70 is empty at this time (FIG. 6), so that the switch 10-11 floods the message and transfers QRY1 to the terminals 20-11 and 20-12. Here, only the terminal 20-12 sends a group join message (Report, indicated by RP1 in the figures) to the router 60 in response to QRY1. The switch 10-11 receives RP1. The switch 10-11 writes a multicast group MAC address (denoted by MAC_MG1) stored in the received RP1, to the destination MAC address 71 of the FDB 70. Similarly the switch 10-11 writes a received port number (denoted by 40-2) at which RP1 is received, to the output port 72. FIG. 8 shows the FDB 70 after snooping.
In FIG. 9, a data frame (indicated by MDF1 in the figure) addressed to the multicast group (destination MAC address: MAC_MG1) is output from the server 50 and is received through the router 60. Then the data frame is sent only to the port 40-2 based on the FDB 70 in FIG. 8.
JP-A No. 147172/2004 describes a ring switching method for reducing switching time due to a fault in the layer 2 network of ring structure.